PostgreSQL pg_profile 配置服务器连接

1 背景知识

本文介绍如何创建远程采集统计信息的服务器链接。

2 服务器连接管理

2.1 创建服务器连接

create_server() 函数用于创建远程采集的 dblink 服务器连接。其中连接串的语法与 dblink_connect 函数 语法相同。

su - postgres 
#postgres>
psql -U postgres -d testdb 
#testdb>
SELECT profile.create_server('omega','host=192.168.10.155 user=postgres dnmame=testdb password=testdb port=5432');
create_server 
---------------
             2
(1 row)

2.2 修改服务器连接

set_server_connstr 函数用于修改远程采集的 dblink 连接。其中连接串的语法与 dblink_connect  语法相同。

SELECT profile.set_server_connstr('omega', 'host=192.168.10.155  user=postgres dbname=testdb password=postgres port=5432');
set_server_connstr 
--------------------
                  1
(1 row)

2.3 查看服务器连接

show_servers 函数用于显示当前所有的服务器连接。

SELECT profile.show_servers();
show_servers                                 
-----------------------------------------------------------------------------
 (local,"dbname=testdb port=5432",t,,)
 (omega,"host=192.168.10.155 username=postgres user=postgres password=postgres port=5432",t,,)
(2 rows)

2.4 服务器统计信息采集

PostgreSQL pg_profile 函数 函数用于发起数据库统计信息采集。

SELECT * FROM profile.take_sample('omega');
result |   elapsed   
--------+-------------
 OK     | 00:00:01.85
(1 row)

2.5 显示采样的统计信息

PostgreSQL pg_profile 函数 函数用于显示数据库统计信息所采集生成的快照。

SELECT * FROM profile.show_samples('omega');
sample |      sample_time       | sizes_collected | dbstats_reset | bgwrstats_reset | archstats_reset 
--------+------------------------+-----------------+---------------+-----------------+-----------------
      1 | 2024-06-27 11:49:45+08 | t               |               |                 | 
(1 row)